﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Qiang.Topology.Geometries;

namespace Qiang.Data
{
    public interface ISegmentShape:IShape
    {

        #region 属性

        /// <summary>
        /// 起始节点
        /// </summary>
        INodeShape StartNode { get; set; }

        /// <summary>
        /// 结束节点
        /// </summary>
        INodeShape EndNode { get; set; }

        /// <summary>
        /// 线上顶点
        /// </summary>
        List<IVertexShape> VertexCollection { get; set; }

        /// <summary>
        /// 左多边形
        /// </summary>
        IPolygonShape LeftPolygon { get; set; }

        /// <summary>
        /// 右多边形
        /// </summary>
        IPolygonShape RightPolygon { get; set; }

            
        int UsedNum { get; set; }
              

        /// <summary>
        /// 构造多边形时第一次使用的方向
        /// </summary>
        SegmentDirection FirstusedDerection { get; set; }
               

        /// <summary>
        /// 构造多边形时第二次使用的方向
        /// </summary>
        SegmentDirection SecondUsedDerection { get; set; }
       




        #endregion


        #region 方法

        /// <summary>
        /// 删除弧段上的某一顶点
        /// </summary>
        /// <param name="vertex"></param>
        void RemoveVertex(IVertexShape vertex);

        #endregion


    }
}
